/*
 * @Author: your name
 * @Date: 2021-10-03 18:30:04
 * @LastEditTime: 2021-10-03 20:16:39
 * @LastEditors: Please set LastEditors
 * @Description: ai(1+i)^n = d(1+i)^n - d
 * @FilePath: \luogu\1.6二分查找\P1163\main.c
 */

#include<iostream>
#include<math.h>
#include<iomanip>
using namespace std;

//二分计算利率
double getRate(double a,double n,double d);
//计算 (ai-d)(1+i)^n - d
double f(double a,double n,double d,double i);
int main(){
    //a:本金 n:期数 d:期款 i:期利率(待计算)
    double a,d,n;
    cin >> a >> d >>n;

    //根据推导公式计算 (ai-d)(1+i)^n - d = 0
    cout << fixed << setprecision(1) << getRate(a,n,d)*100;
    return 0;
}
double getRate(double a,double n,double d)
{
    //默认在 0-1之间寻找
    double low = 0.00001;
    double high = 5.00000;
    double mid = (low+high)/2;

    while((high - low) > 1e-7){
        //锁定答案
        if(abs(f(a,n,d,mid)) < 0.0001) return mid;
        if(abs(f(a,n,d,low)) < 0.0001) return low;
        if(abs(f(a,n,d,high)) < 0.0001) return high;

        // cout << "low: " << low << " mid:" << mid << " high:" << high << " f(low):" << f(a,n,d,low) << " f(mid):" << f(a,n,d,mid);

        //无法锁定,减小范围
        if(f(a,n,d,mid)*f(a,n,d,low) < 0){
            // cout << "在 low 到 mid" << endl;
            //答案在low 到 mid 区间
            high = mid - 0.00001;
        }else{
            // cout << "在 mid 到 high" << endl;
            low = mid + 0.00001;
        }
        mid = (low+high)*0.5000;
    }
    // cout << "find in the end -- low:" << low << " high:" << high << endl;
    return low;
}
double f(double a,double n,double d,double i)
{
    return (a * i - d)*pow(1+i,n) + d;
}